LiteOS 消息队列

您所在的位置:网站首页 los vascos怎么读 LiteOS 消息队列

LiteOS 消息队列

2023-07-30 16:51| 来源: 网络整理| 查看: 265

创建消息队列的内存空间: 内 存 空 间 = 消 息 队 列 控 制 块 大 小 + ( 单 个 消 息 空 间 大 小 + 4 字 节 ) ∗ 消 息 队 列 长 度 内存空间=消息队列控制块大小+(单个消息空间大小+4字节)*消息队列长度 内存空间=消息队列控制块大小+(单个消息空间大小+4字节)∗消息队列长度

当消息队列被创建时,系统会为控制块分配对应的内存空间,用于保存消息队列的(消息存储位置,头指针,尾指针,消息大小,以及队列长度等)

UINT32 LOS_QueueCreate(CHAR *pcQueueName,//消息队列的名称,暂时未使用 UINT16 usLen,// 队列长度 UINT32 *puwQueueID,//成功创建的队列控制结构ID,需要用户在创建前定义 UINT32 uwFlags,//队列参数,保留参数,暂时不使用 UINT16 usMaxMsgSize )//最大消息字节 { ... } // 队列控制块 typedef struct tagQueueCB { UINT8 *pucQueue; /**< 队列指针 */ UINT16 usQueueState; /**< 队列状态 */ UINT16 usQueueLen; /**< 队列中消息个数 */ UINT16 usQueueSize; /**< 消息节点大小 */ UINT16 usQueueID; /**< 队列ID */ UINT16 usQueueHead; /**< 消息头结点位置 */ UINT16 usQueueTail; /**< 消息尾结点位置 */ UINT16 usReadWriteableCnt[2]; /**< 可读或者可写资源的计数0:可读,1:可写 */ LOS_DL_LIST stReadWriteList[2]; /**< 指向要读取或写入的链表的指针0: 读列表 */ LOS_DL_LIST stMemList; /** 指向内存链表的指针 */ } QUEUE_CB_S;

先定义队列ID,再调用LOS_QueueCreate() 函数创建,才能成功创建消息队列



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3